CRUD (Create, Read, Update, Delete) এবং FLS (Field Level Security) চেকিং Salesforce-এ একটি নিরাপদ এবং সুরক্ষিত অ্যাপ্লিকেশন তৈরি করার জন্য অপরিহার্য। Apex কোডের মধ্যে CRUD এবং FLS চেক ব্যবহার করে নিশ্চিত করা হয় যে ব্যবহারকারীর কাছে ডেটা এবং ফিল্ডের উপর যথাযথ অনুমোদন রয়েছে কিনা। এর ফলে Salesforce অ্যাপ্লিকেশনে সঠিক নিরাপত্তা নিশ্চিত হয় এবং অপ্রত্যাশিত ডেটা লিক বা নিরাপত্তা ঝুঁকি কমানো যায়।
CRUD চেকিং ব্যবহার করে Apex কোডে যাচাই করা হয় যে, ব্যবহারকারী নির্দিষ্ট Object-এর উপর Create, Read, Update, বা Delete অনুমোদন রয়েছে কিনা। এটি সুরক্ষা নিশ্চিত করতে গুরুত্বপূর্ণ, কারণ একটি রেকর্ড বা অবজেক্টের উপর যথাযথ অনুমোদন না থাকলে ব্যবহারকারী সেই রেকর্ডটি অ্যাক্সেস বা পরিবর্তন করতে পারবে না।
নীচের উদাহরণে Account
অবজেক্টে CRUD অনুমোদন চেক করা হয়েছে।
if (Schema.sObjectType.Account.isAccessible()) {
Account acc = [SELECT Id, Name FROM Account LIMIT 1];
System.debug('Account accessible to current user');
}
if (Schema.sObjectType.Account.isCreateable()) {
Account newAcc = new Account(Name = 'Test Account');
insert newAcc;
System.debug('Account created');
}
if (Schema.sObjectType.Account.isUpdateable()) {
Account acc = [SELECT Id FROM Account LIMIT 1];
acc.Name = 'Updated Account Name';
update acc;
System.debug('Account updated');
}
if (Schema.sObjectType.Account.isDeletable()) {
Account acc = [SELECT Id FROM Account LIMIT 1];
delete acc;
System.debug('Account deleted');
}
FLS চেকিং ব্যবহার করে Apex কোডে যাচাই করা হয় যে, ব্যবহারকারী নির্দিষ্ট Field অ্যাক্সেস করার অনুমতি রাখে কিনা। এটি নিশ্চিত করে যে ব্যবহারকারী শুধুমাত্র অনুমোদিত ফিল্ড দেখতে বা সম্পাদনা করতে পারে এবং অপ্রয়োজনীয় বা সংবেদনশীল ফিল্ডে অ্যাক্সেস পাবে না।
নীচে Account
অবজেক্টে Name এবং Industry ফিল্ডের জন্য FLS চেক করা হয়েছে।
Account acc = [SELECT Id, Name, Industry FROM Account LIMIT 1];
// Field Level Security চেক
if (Schema.sObjectType.Account.fields.Name.isAccessible()) {
System.debug('Account Name: ' + acc.Name);
}
if (Schema.sObjectType.Account.fields.Industry.isUpdateable()) {
acc.Industry = 'Technology';
update acc;
System.debug('Account Industry updated');
}
নিরাপত্তা নিশ্চিত করা: CRUD এবং FLS চেকিং নিশ্চিত করে যে ব্যবহারকারীর কাছে কেবলমাত্র অনুমোদিত ডেটা এবং ফিল্ডের এক্সেস রয়েছে, যা ডেটা লিক হওয়া থেকে রক্ষা করে।
অ্যাক্সেস কন্ট্রোল বজায় রাখা: ব্যবহারকারীর অনুমতি অনুযায়ী ডেটা এবং ফিল্ডে এক্সেস কন্ট্রোল বজায় রাখে, যা সার্ভারের কার্যক্ষমতা উন্নত করে।
SOX এবং HIPAA-এর মতো নীতি অনুসরণ করা: অনেক কোম্পানি নিয়ন্ত্রণ এবং সুরক্ষার জন্য সিকিউরিটি নীতি অনুসরণ করে। CRUD এবং FLS চেকিং নিশ্চিত করে যে এসব নীতির শর্ত পূরণ হচ্ছে।
কোডের স্থায়িত্ব: অনুমোদিত ডেটা এবং ফিল্ডে এক্সেসের মাধ্যমে কোড আরও স্থিতিশীল এবং নির্ভরযোগ্য হয়।
CRUD এবং FLS চেকিং সর্বদা যুক্ত করুন: Apex কোডে CRUD এবং FLS চেকিং অন্তর্ভুক্ত করুন, বিশেষ করে যেখানে SOQL, DML, বা Field Access ব্যবহৃত হয়েছে।
গভর্নর লিমিট মেনে চলুন: CRUD এবং FLS চেকিং করার সময় গভর্নর লিমিটের মধ্যে থেকে কোড অপ্টিমাইজ করার চেষ্টা করুন।
Test Classes-এ সিকিউরিটি চেকিং অন্তর্ভুক্ত করুন: CRUD এবং FLS সিকিউরিটি চেকিং অ্যাসার্ট করার জন্য Test Class তৈরি করুন।
Sensitive Data হ্যান্ডলিং-এর ক্ষেত্রে বিশেষ সতর্কতা অবলম্বন করুন: সেনসিটিভ ফিল্ড যেমন Social Security Number (SSN), API Keys ইত্যাদি হ্যান্ডল করার সময় FLS চেকিং নিশ্চিত করুন।
CRUD এবং FLS চেকিং Salesforce-এ সুরক্ষিত অ্যাপ্লিকেশন তৈরি করতে অপরিহার্য, যা ব্যবহারকারীর অনুমোদন অনুযায়ী ডেটা এবং ফিল্ডের অ্যাক্সেস নিয়ন্ত্রণ করে। Apex কোডে CRUD এবং FLS চেকিং অন্তর্ভুক্ত করে ডেটার নিরাপত্তা, অ্যাপ্লিকেশন কার্যক্ষমতা, এবং নির্ভরযোগ্যতা নিশ্চিত করা যায়। Salesforce ডেভেলপমেন্টে CRUD এবং FLS চেকিং ব্যবহার করা একটি ভালো অভ্যাস এবং একটি নিরাপদ অ্যাপ্লিকেশন তৈরির অন্যতম গুরুত্বপূর্ণ পদক্ষেপ।
common.read_more